package FLS.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import FLS.Model.Kunde;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import FLS.DataAccessObjects.KundeDao;

public class EditKunde extends AbstractController {
	private KundeDao kundeDao;
	
	public void setKundeDao(KundeDao kundeDao) {
		this.kundeDao = kundeDao;
	}

	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		ModelAndView mv = new ModelAndView();
		
		try {
			int id = Integer.parseInt(httpServletRequest.getParameter("id"));
			// wenn id nicht geparsed werden kann, dann wird ein neues Objekt angelegt
			mv.addObject("title", "Personsbeschreibung bearbeiten");
			mv.addObject("message", "Ändern Sie die Beschreibung des Persons und klicken Sie dann auf 'Änderungen übernehmen'.");
			mv.addObject("kunde", kundeDao.findById(id));
		} catch (NumberFormatException e) {
			mv.addObject("title", "Neue Kunden anlegen");
			mv.addObject("message", "Geben Sie eine Beschreibung für die neue Person an und klicken Sie dann auf 'Änderungen übernehmen'.");
			mv.addObject("person", new Kunde());
		}
		mv.setViewName("EditKunde");
		return mv;
	}

}
